\chapter{HIR evaluator}

This backend is used during bootstrapping to execute \sysname{} code
in the host, relative to a \sysname{} first-class global environment.
The compiler translates source code first to an abstract syntax tree
and then to high-level intermediate representation (HIR).  In the
native backend, the HIR code is then further translated so as to
obtain native instructions.

During bootstrapping, the HIR code is also translated to a graph of
host \emph{thunks}, where each thunk is the result of translating a
single HIR instruction.  Recall that the high-level intermediate code
only manipulates \commonlisp{} objects so that all address
calculations are implicit.

At the center of this backend is a \sysname{} first-class global
environment represented as a host class instance.  This environment
contains mappings from names to all objects that are part of any
global environment, such as functions, macros, variables, classes,
packages, types, \texttt{setf} expanders, etc.
